package com.cjc.testdb.activity;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.cjc.testdb.R;
import com.cjc.testdb.db.UserInsideDao;
import com.cjc.testdb.entity.LocalUser;

public class MainActivity extends Activity {
	// 定义数据库操作实现类
	private UserInsideDao userDao = null;
	// 列表数据
	private List<LocalUser> userList = null;
	// 每一页显示的行数
	public int pageSize = 100;
	// 当前页数
	public int pageNum = 1;

	public Button btn1, btn2, btn3;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		userDao = new UserInsideDao(MainActivity.this);
		btn1 = (Button) findViewById(R.id.btn1);
		btn2 = (Button) findViewById(R.id.btn2);
		btn3 = (Button) findViewById(R.id.btn3);
		btn1.setOnClickListener(new MyOnClickListener());
		btn2.setOnClickListener(new MyOnClickListener());
		btn3.setOnClickListener(new MyOnClickListener());

	}

	/**
	 * 
	 ***************************************************** 
	 * 方法简介: 保存单条数据
	 * 
	 * @param u
	 ***************************************************** 
	 */
	public void saveData(LocalUser u) {
		// (1)获取数据库
		userDao.startWritableDatabase(false);
		// (2)执行查询
		long id = userDao.insert(u);
		// (3)关闭数据库
		userDao.closeDatabase();
		// showToast("插入数据成功,ID:"+id);
		// 插入数据成功
		if (id != -1) {
			// 查询数据
			queryData();
		}
	}

	/**
	 * 
	 ***************************************************** 
	 * 方法简介: 保存单条数据
	 * 
	 * @param u
	 ***************************************************** 
	 */
	public void saveListData(List<LocalUser> u) {
		// (1)获取数据库
		userDao.startWritableDatabase(false);
		// (2)执行查询
		long[] id = userDao.insertList(u);
		// (3)关闭数据库
		userDao.closeDatabase();
		for (int i = 0; i < id.length; i++) {
			if (id[i] != -1) {
				System.out.println("插入数据成功,ID:" + id[i]);
			}
		}
	}

	/**
	 * 
	 ***************************************************** 
	 * 方法简介: 查询数据
	 ***************************************************** 
	 */
	public void queryData() {
		// (1)获取数据库
		userDao.startReadableDatabase();
		// (2)执行查询
		List<LocalUser> userListNew = userDao.queryList(null, null, null, null, null, "create_time desc limit " + String.valueOf(pageSize) + " offset "
				+ String.valueOf((pageNum - 1) * pageSize), null);
		// (3)关闭数据库
		userDao.closeDatabase();
		userList = new ArrayList<LocalUser>();
		if (userListNew != null) {
			userList.addAll(userListNew);
		}
		System.out.println("这里是做的分页查询，只查前100条数据：" + userList.size());
	}

	class MyOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			switch (v.getId()) {
			case R.id.btn1:
				LocalUser u = new LocalUser();
				u.setName("这是名字");
				u.setAge(10);
				u.setPassword("123456789");
				u.setCreateTime("这是时间");
				u.setuId("这是id");
				saveData(u);
				break;
			case R.id.btn2:
				List<LocalUser> entityList = new ArrayList<LocalUser>();
				for (int i = 0; i < 10; i++) {
					LocalUser lu = new LocalUser();
					lu.setName("这是名字" + i);
					lu.setAge(10 + i);
					lu.setPassword("123456789" + i);
					lu.setCreateTime("这是时间" + i);
					lu.setuId("这是id" + i);
					entityList.add(lu);
				}
				saveListData(entityList);
				break;
			case R.id.btn3:
				queryData();
				break;
			}
		}

	}
}
